
$(function() {
    resizeModal();
    $('.nsy_form_section').removeClass('hidden');
    $('div#pregunta' + 0).removeClass('hidden');
    $('#next').on('click', function() {

        AjaxAtualizacionInformacion("#nosey-form");
    });
    // pruebas formulario nosey
    $('#mainModal').addClass('modalEncuesta');

    $(window).resize(function() {
        resizeModal();
    });

//
});
var cont = 0;
var contador;
var porcentaje;
function resizeModal() {
    var elem = $(window);
    if (elem.width() <= 767)
    {
        $('#mainModal').css('margin', 'auto');
    }
    if (elem.width() > 767)
    {
        $('#mainModal').css('margin-left', '-45%');


    }
    var altura = elem.height() - 328;
    if (elem.height() <= 600)
    {
        $('#mainModalEncuesta').css('max-height', altura);
    }
    if (elem.height() > 600)
    {
        $('#mainModalEncuesta').css('max-height', altura);


    }
    console.log('window width: ' + elem.width() + ', height: ' + elem.height());
}

/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} Formulario
 * guarda los _form_modal por ajax para contacto, tarea, oportunidad, evento y cobranza
 */
function AjaxAtualizacionInformacion(Formulario)
{
    BloquearBotonesModal(Formulario);
    ajaxHasError({url: $(Formulario).attr('action'), data: $(Formulario).serialize(),
        errorCall: function(data) {
            if (data.data != '')
            {
                erroresFormulario(data, Formulario);
            }
            else
            {
                erroresFormulario(data, Formulario, true);
            }

            if (cont == contador)
            {

                var listaActualizar = Formulario.split('-');
                listaActualizar = listaActualizar[0] + '-grid';
                ajaxHasError({url: baseUrl + 'nosey/default/submitModal/id/' + 1 + '/validador/' + true, data: $(Formulario).serialize(),
                });
//                    alert('successCall');

                $('#mainModal').modal('hide');

                bootbox.alert('Formulario guardado con exito!');
                $('.modal-body').css('margin', '0px');



            }

        }
    });
}
var offsetSuma=0;
function preguntaEncuestaNext(Formulario) {
    if ($('div#pregunta' + cont + '> .control-group').hasClass('error'))
    {

    }
    else
    {
        cont++;
        console.log(cont + ' :< contador: ' + contador);
//        console.log($('div.nsy_form_row#pregunta'+cont).offset().top);
//        console.log($("#mainModalEncuesta").offset().top);
        if (cont < contador)
        {
//      $('div#pregunta' + cont+'> .control-group').removeClass('error');
//      $('div#pregunta' + cont+'> .control-group').removeClass('success');
//       $(Formulario + ' span.help-inline').html('');
            $('div#pregunta' + cont).removeClass('hidden');
            offsetSuma+=$('div.nsy_form_row#pregunta'+cont).offset().top;
            console.log(offsetSuma);
//                $('div#pregunta' + cont).show()('slow');
            encerarErrores(Formulario);
            progressBarNosey();


              $('#mainModalEncuesta').stop(true, true).animate({
                            //realizamos la animacion hacia el ancla
                            scrollTop:  offsetSuma
                    }, 2000);



        }
        

    }



}

function progressBarNosey() {
    porcentaje = cont * 100 / contador;
    $('.bar').attr('aria-valuenow', porcentaje);
    $('.bar').css('width', porcentaje + '%');
    $('.bar').html(porcentaje + '%')
//    alert(porcentaje);

}
function encerarErrores(Formulario) {
    $inputs = ($(Formulario + ' input '));
    $selects = ($(Formulario + ' select '));
    $inputs.each(function(element, valor) {
        if ($(valor).parent().has('label')) {
            divControlGroup = $(valor).parent().parent().parent('.control-group');
            divControlGroup.removeClass('success');
            divControlGroup.removeClass('error');
            $(Formulario + ' span.help-inline').html('');
        }
//                console.log(valor);
        divControlGroup = $(valor).parent().parent('.control-group');
        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
    });
    $selects.each(function(element, valor) {
//                console.log(valor);

        divControlGroup = $(valor).parent().parent('.control-group');
        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
    });

}



/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * consulta si los datos tiene errores
 * @param {type} Formulario
 * @returns {undefined}
 */
function ajaxHasError(options) {
    console.log(options.url);
    $.ajax({
        type: "POST",
        dataType: 'json',
        url: options.url,
        data: options.data,
        beforeSend: function(xhr) {
        },
        success: function(data) {
            if (data.success) {

                if (options.SuccessCall)
                {
                    options.SuccessCall(data);
                }

            } else {

                options.errorCall(data);

            }
        }

    });
}


function erroresFormulario(data, Formulario, validador) {
//            console.log(data);
    console.log('-------------------------------');
    DesBloquearBotonesModal(Formulario, ' Crear', 'AjaxAtualizacionInformacion');
    $inputs = ($(Formulario + ' input '));
    $selects = ($(Formulario + ' select '));

    $selects.each(function(element, valor) {
//                console.log(valor);

        divControlGroup = $(valor).parent().parent('.control-group');
        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
    });


    $inputs.each(function(element, valor) {
        if ($(valor).parent().has('label')) {
            divControlGroup = $(valor).parent().parent().parent('.control-group');
            divControlGroup.removeClass('success');
            divControlGroup.removeClass('error');
            $(Formulario + ' span.help-inline').html('');
        }
//                console.log(valor);
        divControlGroup = $(valor).parent().parent('.control-group');
        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
    });
    if (!validador)
    {
        $.each(data.data, function(index, element) {
            $("select#DynamicFormModel_" + index).parent().parent('.control-group').addClass('error');
            $('#DynamicFormModel_' + index + '_em_').css('display', '');
            $('#DynamicFormModel_' + index + '_em_').html(element);

        });
        $.each(data.data, function(index, element) {
            $("input[name='DynamicFormModel[" + index + "]'] ").parent().parent('.control-group').addClass('error');
            if ($("input[name='DynamicFormModel[" + index + "]'] ").parent().hasClass('checkbox'))
            {
//                    console.log('tiene-check');
                $("input[name='DynamicFormModel[" + index + "]'] ").parent().parent().parent('.control-group').addClass('error');
            }
            $('#DynamicFormModel_' + index + '_em_').css('display', '');
            $('#DynamicFormModel_' + index + '_em_').html(element);

        });
    }


    $selects.each(function(element, valor) {
//                 console.log(valor);
        divControlGroup = $(valor).parent().parent('.control-group');
        if (!divControlGroup.hasClass('error'))
        {
            divControlGroup.addClass('success');

        }

    });

    $inputs.each(function(element, valor) {

        divControlGroup = $(valor).parent().parent('.control-group');
        if (!divControlGroup.hasClass('error'))
        {
            divControlGroup.addClass('success');

//                    console.log(valor);
        }
//                  if (!divCheckControlGroup.hasClass('error'))
//                {
//                    console.log('succescheck');
//                    divCheckControlGroup.addClass('success');
//                     
////                    console.log(valor);
//                }
    });
    preguntaEncuestaNext(Formulario);

}

function scrollWin(div) {
    console.log(div);
    $('html,body').animate({
        scrollTop: 0
    }, 1000);
}